Code
import tifffile
import plotly.express as px
raw_light_field = tifffile.imread('raw-light-field.tif')
fig = px.imshow(
raw_light_field,
color_continuous_scale='gray',
aspect='equal'
)
fig.show()A comprehensive introduction to unfocused light-field imaging (plenoptic 1.0)
This guide aims to expand upon existing unfocused light-field (plenoptic 1.0) imaging learning material by providing detailed Python implementations of light-field image processing along with examples. The light-field image processing workflow closely follows that of the MATLAB-based Light-Field Imaging Toolkit (Bolan et al. 2016), but leverages Python’s open-source ecosystem and Quarto’s enhanced capabilities for visualization and LaTeX formula integration.
By focusing specifically on the image processing aspects, this guide helps readers better understand the technical limitations and practical considerations of light-field imaging techniques. This guide assumes the reader is familiar with unfocused light-field imaging. Such an understanding can be achieved by browsing plenoptic.info or reading the unfocused light-field part of the Light-Field Camera Working Principles chapter (Pages 11-25) of the book Development and Application of Light-Field Cameras in Fluid Measurements (Shi and New 2023).
To illustrate light-field image processing concepts, a synthetic raw light-field image was generated. The raw light-field image describes the pixel intensities recorded by an unfocused light-field camera.
import tifffile
import plotly.express as px
raw_light_field = tifffile.imread('raw-light-field.tif')
fig = px.imshow(
raw_light_field,
color_continuous_scale='gray',
aspect='equal'
)
fig.show()